package cn.yeziji.forum.common;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/**
 * 论坛分页数据列表
 *
 * @author gzkemays
 * @since 2021/12/23 23:34
 */
@Data
@NoArgsConstructor
public class ForumPageResult<T> implements Serializable {
  /** 当前页码 */
  int page;
  /** 总页码 */
  int totalPage;
  /** 总数据量 */
  int total;
  /** 截取多少位 */
  int limit;
  /** 当前数据量 */
  int count;
  /** 列表数据 */
  List<T> data;

  public ForumPageResult(Collection<T> data, Paging paging) {
    this.page = paging.page == 0 ? 1 : paging.page;
    this.count = data.size();
    this.totalPage = paging.totalPage();
    this.total = paging.total;
    this.limit = paging.limit;
    this.data = new ArrayList<>(data);
  }
}
